const db = require('../db/db')
// 引入验证器
const { usernameValidator ,passwordValidator} = require('../validators/user.validator')
// 引入逻辑层
const { queryUser, registerUser, userLogin, getUserInfo, logout, resetUsername, resetPwd, resetAvatar} = require('../service/user.service')

module.exports = {
        // 注册接口处理函数
        register: async (ctx, next)=> {
            // 获取注册的
            const { username, password } = ctx.request.body
            // 验证器
            if (usernameValidator(ctx)&&passwordValidator(ctx)) {
                // 如果验证通过，就查询数据库，用户是否存在
                const noUser = await queryUser(ctx)
                // 没有用户就往下注册
                if(noUser) await registerUser(ctx)
            }
        },
    
        // 登录接口处理函数
        login: async (ctx,next)=>{
            await userLogin(ctx)
        },

        // 获取用户信息接口处理函数
        getInfo: async (ctx,next)=>{
            await getUserInfo(ctx)
        },

        // 退出登录处理函数
        logout:async(ctx,next)=>{
            logout(ctx)
        },

        // 修改用户名
        resetUsername: async (ctx,next)=>{
             await resetUsername(ctx)
        },

        // 修改密码
        resetPwd: async (ctx,next)=>{
            await resetPwd(ctx)
        },
        // 修改头像
        resetAvatar:async(ctx,next)=>{
            await resetAvatar(ctx)
        }
    }
